package com.ruoyi.common.core.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 *
 * 请假期间的餐费退款记录表
 *
 *
 * @author wwq
 * @since 2024-05-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("wsd_meal_refunds")
public class WsdMealRefunds implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 餐费退款记录ID
     */
    @TableId(value = "meal_refunds_id", type = IdType.AUTO)
    private Long mealRefundsId;

    /**
     * 关联的请假ID
     */
    private Long leaveId;

    /**
     * 学生ID
     */
    private Long studentId;

    /**
     * 退款的具体日期，表示哪一天的餐费需要退款
     */
    private LocalDate refundDate;

    /**
     * 早餐、午餐、晚餐的退款状态，false=否，true=是
     */

    @JsonProperty("breakfast")
    private Boolean breakfast;    // 早餐退款，false=否，true=是
    @JsonProperty("lunch")
    private Boolean lunch;        // 午餐退款，false=否，true=是
    @JsonProperty("dinner")
    private Boolean dinner;       // 晚餐退款，false=否，true=是
    @JsonProperty("checked")
    private Boolean checked;    // 早餐退款，false=否，true=是
    @JsonProperty("checked2")
    private Boolean checked2;        // 午餐退款，false=否，true=是
    @JsonProperty("checked3")
    private Boolean checked3;       // 晚餐退款，false=否，true=是
    /**
     * 退款金额
     */
    private BigDecimal refundAmount;

    /**
     * 退款状态：0=同意退款, 1=不同意退款,2申请退款
     */
    private Integer status;

    /**
     * 创建时间
     */
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    private LocalDateTime updatedAt;

    /**
     * 原交易订单号，关联的交易ID
     */
    private String transactionId;

}
